// © 2009 Microsoft Corporation.  All rights reserved.
#region Namespaces

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

#endregion

namespace Microsoft.InformationSecurity.Risk.DataEntity
{
    public class RiskInformation
    {
        public int RiskID
        {
            get;
            set;
        }

        public int UpdatedByID
        {
            get;
            set;
        }

        public DateTime CreatedDate
        {
            get;
            set;
        }

        public DateTime UpdatedDate
        {
            get;
            set;
        }

        public string Title
        {
            get;
            set;
        }

        public string Desc
        {
            get;
            set;
        }


        public string CurrentImapctJustification
        {
            get;
            set;
        }


        public string CurrentFrequencyJustification
        {
            get;
            set;
        }


        public string CurrentControlAffectivenessJustification
        {
            get;
            set;
        }


        public string TargetImpactJustification
        {
            get;
            set;
        }


        public string TargetFrequencyJustification
        {
            get;
            set;
        }


        public string TargetControlAffectivenessJustification
        {
            get;
            set;
        }


        public string Contacts
        {
            get;
            set;
        }


        public string Organizations
        {
            get;
            set;
        }

        public Collection<int> RiskGroups
        {
            set;
            get;
        }

        public string OwnersComment
        {
            get;
            set;
        }


        public int PIIID
        {
            get;
            set;
        }


        public int DataClassificationID
        {
            get;
            set;
        }


        public int SubmittedByID
        {
            get;
            set;
        }

        public string SubmittedByFullName
        {
            get;
            set;
        }


        public string UpdatedByFullName
        {
            get;
            set;
        }


        public int RiskManagerID
        {
            get;
            set;
        }


        public Boolean RiskValidatedByTriage
        {
            get;
            set;
        }


        public int Status
        {
            get;
            set;
        }

        public string StatusText
        {
            get;
            set;
        }


        public string Alias
        {
            get;
            set;
        }


        public string CurrentRiskRating
        {
            get;
            set;
        }


        public int CurrentCalculatedRiskValue
        {
            get;
            set;
        }


        public string TargetRiskRating
        {
            get;
            set;
        }


        public int TargetCalculatedRiskValue
        {
            get;
            set;
        }


        public int RiskOrigin
        {
            get;
            set;
        }


        public int CurrentImpactValue
        {
            get;
            set;
        }


        public int CurrentFrequencyValue
        {
            get;
            set;
        }


        public int CurrentControlAffectivenessValue
        {
            get;
            set;
        }


        public int TargetImpactValue
        {
            get;
            set;
        }


        public int TargetFrequencyValue
        {
            get;
            set;
        }


        public int TargetControlAffectivenessValue
        {
            get;
            set;
        }

        public OrganizationContact OrganizationContact
        {
            get;
            set;
        }

        public Collection<NoteData> Notes
        {
            get;
            set;
        }

        public Collection<int> OERMClassification
        {
            get;
            set;
        }

        public Collection<int> Geography
        {
            get;
            set;
        }
        public string RiskOriginApplicationID
        {
            get;
            set;
        }
        
        public Decimal RiskPriortizedWt
        {
            get;
            set;
        }

        public Decimal RiskPriortizedCRV
        {
            get;
            set;
        }

        /// <summary>
        /// This for extensibility and can be used for search or returning any generic text if required.
        /// Type string.
        /// </summary>
        public string RiskField1
        {
            get;
            set;
        }

        /// <summary>
        /// This for extensibility and can be used for search or returning any generic int or calculated field if required.
        /// Type int.
        /// </summary>        
        public int RiskField2
        {
            get;
            set;
        }
    }
    
}